package nl.hanze.web.gba.doa.impl;

import nl.hanze.web.gba.dao.NatuurlijkPersoonDAO;
import nl.hanze.web.gba.domain.NatuurlijkPersoon;

public class NatuurlijkPersoonDAOImpl extends BasePersistence implements NatuurlijkPersoonDAO{

	/**
	 * BSN is PK in DB, kan dus direct op gezocht worden
	 */
	@Override
	public NatuurlijkPersoon getNatuurlijkPersoonByBSN(long bsn) {
		open();
        NatuurlijkPersoon np = em.find(NatuurlijkPersoon.class, bsn);
        close();
        return np;
	}

	@Override
	public boolean addNatuurlijkPersoon(NatuurlijkPersoon np) {
		/*
		 * Snelle oplossing. Idealerwijs wordt er een custom exception 
		 * gegooid die door logic afgehandeld wordt.
		 */
		try {
			open();
	        em.getTransaction().begin();
	        em.persist(np);
	        em.getTransaction().commit();
	        close();
	        return true;
		}catch(Exception e){
			return false;
		}
	}

}
